]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
extensions-app: Add compat code for older shell versions
authorFlorian Müllner <fmuellner@gnome.org>
Tue, 19 Dec 2023 23:17:29 +0000 (00:17 +0100)
committerMarge Bot <marge-bot@gnome.org>
Wed, 3 Jan 2024 20:05:05 +0000 (20:05 +0000)
The Extensions app is also distributed as flatpak, so we cannot
assume that its version matches the shell. In order to not show
all extensions as disabled when running under a shell version that
doesn't include the `enabled` property yet, add a fallback based
on the current state.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7004

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3073>

subprojects/extensions-app/js/extensionManager.js

index 3f2e3bdcc121ce95c142779b4e5170be48256b44..6c557a88535a9d108a166ef7f5f05cc880c513d8 100644 (file)
@@ -142,6 +142,10 @@ const Extension = GObject.registerClass({
             this._state = state;
             this.notify('state');
 
+            // Compat with older shell versions
+            if (this._enabled === undefined)
+                this.notify('enabled');
+
             if (this.hasError !== hadError) {
                 this.notify('has-error');
                 this.notify('error');
@@ -203,6 +207,12 @@ const Extension = GObject.registerClass({
     }
 
     get enabled() {
+        // Compat with older shell versions
+        if (this._enabled === undefined) {
+            return this.state === ExtensionState.ACTIVE ||
+                   this.state === ExtensionState.ACTIVATING;
+        }
+
         return this._enabled;
     }